package com.bestescortbedsystem.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


import java.io.Serializable;

/**
 * ses_user
 * @author
 */
@ApiModel(description = "用户信息类")
@Data
public class SesUser implements Serializable {
    /**
     * 总用户数
     */
    private Integer size;

    public void setSize(Integer size) {
        this.size = size;
    }

    public Integer getSize() {
        return size;
    }

    private SesUserIdentity sesUserIdentity;

    /**
     * 订单数量
     */
    private Integer count;

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    /**
     * 累计消费
     */
    private Float money;

    public Float getMoney() {
        return money;
    }

    public void setMoney(Float money) {
        this.money = money;
    }

    /**
     * 下单医院
     */
    private String hospital;

    public String getHospital() {
        return hospital;
    }

    public void setHospital(String hospital) {
        this.hospital = hospital;
    }

    /**
     * ID,主键PK
     */
    private Long userid;

    /**
     * 用户身份表ID
     */
    private Long userUserIdentityid;

    /**
     * 昵称
     */
    @ApiModelProperty(name = "username", value = "用户昵称", required = true)
    private String username;

    /**
     * 头像
     */
    private String userphoto;

    /**
     * 性别: 1.男,2.女,0.默认值
     */
    @ApiModelProperty(name = "usersex", value = "性别", required = true)
    private Integer usersex;

    /**
     * 手机号码
     */
    @ApiModelProperty(name = "userphone", value = "手机号码,用来用户登录", required = true)
    private Long userphone;

    /**
     * 注册时间
     */
    private String userregistrationtime;

    /**
     * 类型:类型:1.新用户(默认值),2.维修人员,3.医院对接人,4.股东,5.区域管理员,6.财务主管,7.会计,8.维修主管,9.老用户,10.一级分销商,11,二级分销商,12.科室对接人,13.超级管理员
     */
    private Integer usertype;

    /**
     * 电子邮箱
     */
    @ApiModelProperty(name = "useremail", value = "电子邮箱", required = true)
    private String useremail;

    /**
     * 登录密码
     */
    @ApiModelProperty(name = "userpassword", value = "登录密码", required = true)
    private String userpassword;

    /**
     * 最后登录时间
     */
    private String userlastlogintime;

    /**
     * 登陆次数
     */
    private Long userlogincount;

    /**
     * 登录时间
     */
    private String userlogintime;
    /**
     * 高阶用户分成
     */
    private SesUserSharing sesUserSharing;

    public SesUserSharing getSesUserSharing() {
        return sesUserSharing;
    }

    public void setSesUserSharing(SesUserSharing sesUserSharing) {
        this.sesUserSharing = sesUserSharing;
    }

    private static final long serialVersionUID = 1L;

    public Long getUserid() {
        return userid;
    }

    public void setUserid(Long userid) {
        this.userid = userid;
    }

    public Long getUserUserIdentityid() {
        return userUserIdentityid;
    }

    public void setUserUserIdentityid(Long userUserIdentityid) {
        this.userUserIdentityid = userUserIdentityid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUserphoto() {
        return userphoto;
    }

    public void setUserphoto(String userphoto) {
        this.userphoto = userphoto;
    }

    public Integer getUsersex() {
        return usersex;
    }

    public void setUsersex(Integer usersex) {
        this.usersex = usersex;
    }

    public Long getUserphone() {
        return userphone;
    }

    public void setUserphone(Long userphone) {
        this.userphone = userphone;
    }

    public String getUserregistrationtime() {
        return userregistrationtime;
    }

    public void setUserregistrationtime(String userregistrationtime) {
        this.userregistrationtime = userregistrationtime;
    }

    public Integer getUsertype() {
        return usertype;
    }

    public void setUsertype(Integer usertype) {
        this.usertype = usertype;
    }

    public String getUseremail() {
        return useremail;
    }

    public void setUseremail(String useremail) {
        this.useremail = useremail;
    }

    public String getUserpassword() {
        return userpassword;
    }

    public void setUserpassword(String userpassword) {
        this.userpassword = userpassword;
    }

    public String getUserlastlogintime() {
        return userlastlogintime;
    }

    public void setUserlastlogintime(String userlastlogintime) {
        this.userlastlogintime = userlastlogintime;
    }

    public Long getUserlogincount() {
        return userlogincount;
    }

    public void setUserlogincount(Long userlogincount) {
        this.userlogincount = userlogincount;
    }

    public String getUserlogintime() {
        return userlogintime;
    }

    public void setUserlogintime(String userlogintime) {
        this.userlogintime = userlogintime;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SesUser other = (SesUser) that;
        return (this.getUserid() == null ? other.getUserid() == null : this.getUserid().equals(other.getUserid()))
            && (this.getUserUserIdentityid() == null ? other.getUserUserIdentityid() == null : this.getUserUserIdentityid().equals(other.getUserUserIdentityid()))
            && (this.getUsername() == null ? other.getUsername() == null : this.getUsername().equals(other.getUsername()))
            && (this.getUserphoto() == null ? other.getUserphoto() == null : this.getUserphoto().equals(other.getUserphoto()))
            && (this.getUsersex() == null ? other.getUsersex() == null : this.getUsersex().equals(other.getUsersex()))
            && (this.getUserphone() == null ? other.getUserphone() == null : this.getUserphone().equals(other.getUserphone()))
            && (this.getUserregistrationtime() == null ? other.getUserregistrationtime() == null : this.getUserregistrationtime().equals(other.getUserregistrationtime()))
            && (this.getUsertype() == null ? other.getUsertype() == null : this.getUsertype().equals(other.getUsertype()))
            && (this.getUseremail() == null ? other.getUseremail() == null : this.getUseremail().equals(other.getUseremail()))
            && (this.getUserpassword() == null ? other.getUserpassword() == null : this.getUserpassword().equals(other.getUserpassword()))
            && (this.getUserlastlogintime() == null ? other.getUserlastlogintime() == null : this.getUserlastlogintime().equals(other.getUserlastlogintime()))
            && (this.getUserlogincount() == null ? other.getUserlogincount() == null : this.getUserlogincount().equals(other.getUserlogincount()))
            && (this.getUserlogintime() == null ? other.getUserlogintime() == null : this.getUserlogintime().equals(other.getUserlogintime()))
         && (this.getSesUserSharing() == null ? other.getSesUserSharing() == null : this.getSesUserSharing().equals(other.getSesUserSharing()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getUserid() == null) ? 0 : getUserid().hashCode());
        result = prime * result + ((getUserUserIdentityid() == null) ? 0 : getUserUserIdentityid().hashCode());
        result = prime * result + ((getUsername() == null) ? 0 : getUsername().hashCode());
        result = prime * result + ((getUserphoto() == null) ? 0 : getUserphoto().hashCode());
        result = prime * result + ((getUsersex() == null) ? 0 : getUsersex().hashCode());
        result = prime * result + ((getUserphone() == null) ? 0 : getUserphone().hashCode());
        result = prime * result + ((getUserregistrationtime() == null) ? 0 : getUserregistrationtime().hashCode());
        result = prime * result + ((getUsertype() == null) ? 0 : getUsertype().hashCode());
        result = prime * result + ((getUseremail() == null) ? 0 : getUseremail().hashCode());
        result = prime * result + ((getUserpassword() == null) ? 0 : getUserpassword().hashCode());
        result = prime * result + ((getUserlastlogintime() == null) ? 0 : getUserlastlogintime().hashCode());
        result = prime * result + ((getUserlogincount() == null) ? 0 : getUserlogincount().hashCode());
        result = prime * result + ((getUserlogintime() == null) ? 0 : getUserlogintime().hashCode());
        result = prime * result + ((getSesUserSharing() == null) ? 0 : getSesUserSharing().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", userid=").append(userid);
        sb.append(", userUserIdentityid=").append(userUserIdentityid);
        sb.append(", username=").append(username);
        sb.append(", userphoto=").append(userphoto);
        sb.append(", usersex=").append(usersex);
        sb.append(", userphone=").append(userphone);
        sb.append(", userregistrationtime=").append(userregistrationtime);
        sb.append(", usertype=").append(usertype);
        sb.append(", useremail=").append(useremail);
        sb.append(", userpassword=").append(userpassword);
        sb.append(", userlastlogintime=").append(userlastlogintime);
        sb.append(", userlogincount=").append(userlogincount);
        sb.append(", userlogintime=").append(userlogintime);
        sb.append(", sesUserSharing=").append(sesUserSharing);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
